export interface CustomTableProps {
    full?: boolean,
    tableKey?: string,
    individualizationShow?: boolean, // 是否显示个性化
    columns: CustomTableColumns[],
    selection?: boolean,

    bordered?: boolean,
    customHeaderRow?: (columns: any, index: number) => any,
    customRow?: (record: any, index: number) => any,
    dataSource?: any[],
    defaultExpandAllRows?: boolean,
    defaultExpandedRowKeys?: string[],
    expandIcon?: any,
    expandRowByClick?: boolean,
    expandedRowKeys?: string[],
    expandedRowRender?: (record: any, index: number, indent: number, expanded: boolean) => any,
    expandIconColumnIndex?: number,
    locale?: any,
    loading?: boolean,
    pagination?: any,
    rowClassName?: (record: any, index: number) => any,
    rowKey?: string,
    rowSelection?: any,
    scroll?: any,
    showHeader?: boolean,
    size?: 'default' | 'middle' | 'small',
    sticky?: boolean | { offsetHeader?: number, offsetScroll?: number, scrollOnFirstRow?: boolean },
    title?: () => any,
}

export interface CUstomTableData{
    [key:string] : any
}

export interface CustomTableColumns {
    flag?: 'ACTION' | 'CHECKBOX' | 'DATE' | 'INDEX',
    align?: 'left' | 'right' | 'center',
    title?: string,
    fixed?: boolean | 'left' | 'right',
    key?: string,
    width?: string | number,
    maxWidth?: number,
    minWidth?: number,
    resizable?: boolean,
    dataIndex?: string | string[],
    headerCell?: any,
    bodyCell?: any,
    
    colSpan?: number,
    customCell?: (record:any,rowIndex:number,column:any) => any,
    customRender?: (text:any,record:any,index:number,column:any) => any
    defaultFilteredValue?: any,
    defaultSortOrder?: 'ascend' | 'descend',
    ellipsis?: boolean,
    filterDropdown?: any,
    filterDropdownVisible?: boolean,
    filterIcon?: any,
    filterMode?: boolean,
    filterMultiple?: boolean,
    filters?: object[],
    filterSearch?: boolean
    responsive?: any,
    riwScope?: 'row' | 'rowgroup',
    showSorterTooltip?: boolean,
    sortDirections?: 'ascend'| 'descend',
    sorter?: Function | boolean,
    sortOrder?: string,
    onFilter?: Function,
    onFilterDropdownVisibleChange?: Function,
}